import request from '@/util/axios';

/**
 * 获取用户列表
 * @param {Object} params 查询参数
 * @returns {Promise} 返回Promise对象
 */
export function getUserList(params) {
  return request({
    url: '/user/list',
    method: 'get',
    params
  });
}

/**
 * 获取用户详情
 * @param {Number} id 用户ID
 * @returns {Promise} 返回Promise对象
 */
export function getUserInfo(id) {
  return request({
    url: `/user/info/${id}`,
    method: 'get'
  });
}

/**
 * 添加用户
 * @param {Object} data 用户数据
 * @returns {Promise} 返回Promise对象
 */
export function addUser(data) {
  return request({
    url: '/user/add',
    method: 'post',
    data
  });
}

/**
 * 更新用户
 * @param {Object} data 用户数据
 * @returns {Promise} 返回Promise对象
 */
export function updateUser(data) {
  return request({
    url: '/user/update',
    method: 'post',
    data
  });
}

/**
 * 删除用户
 * @param {Array} ids 用户ID数组
 * @returns {Promise} 返回Promise对象
 */
export function deleteUsers(ids) {
  return request({
    url: '/user/deleteCheck',
    method: 'delete',
    data: { data: ids }
  });
}

/**
 * 获取用户角色ID列表
 * @param {Number} id 用户ID
 * @returns {Promise} 返回Promise对象
 */
export function getUserRoleIds(id) {
  return request({
    url: `/user/getRoleIds/${id}`,
    method: 'get'
  });
}

/**
 * 分配角色给用户
 * @param {Number} userId 用户ID
 * @param {Array} roleIds 角色ID数组
 * @returns {Promise} 返回Promise对象
 */
export function assignRoleToUser(userId, roleIds) {
  return request({
    url: `/user/asRole/${userId}`,
    method: 'post',
    data: roleIds
  });
}

/**
 * 获取在线用户列表
 * @param {Object} params 查询参数
 * @returns {Promise} 返回Promise对象
 */
export function getOnlineUserList(params) {
  return request({
    url: '/user/online',
    method: 'get',
    params
  });
}

/**
 * 下线用户
 * @param {Array} ids 用户ID数组
 * @returns {Promise} 返回Promise对象
 */
export function removeOnlineUsers(ids) {
  return request({
    url: '/user/removeOnline',
    method: 'delete',
    data: { data: ids }
  });
} 